package com.ruoyi.system.domain;

import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;

import java.util.List;

/**
 * 地区对象 sys_region
         *
         * @author ruoyi
        * @date 2021-06-22
        */
public class SysRegion extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long regionId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String regionCode;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String regionName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long parentId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Integer regionLevel;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long regionOrder;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String regionNameEn;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String regionShortnameEn;

    /** 开通城市 0 未开通 1 已开通 */
    @Excel(name = "开通城市 0 未开通 1 已开通")
    private Integer flag;

    /** children */
    private List<SysRegion> children;

    public void setRegionId(Long regionId)
    {
        this.regionId = regionId;
    }

    public Long getRegionId()
    {
        return regionId;
    }
    public void setRegionCode(String regionCode)
    {
        this.regionCode = regionCode;
    }

    public String getRegionCode()
    {
        return regionCode;
    }
    public void setRegionName(String regionName)
    {
        this.regionName = regionName;
    }

    public String getRegionName()
    {
        return regionName;
    }
    public void setParentId(Long parentId)
    {
        this.parentId = parentId;
    }

    public Long getParentId()
    {
        return parentId;
    }
    public void setRegionLevel(Integer regionLevel)
    {
        this.regionLevel = regionLevel;
    }

    public Integer getRegionLevel()
    {
        return regionLevel;
    }
    public void setRegionOrder(Long regionOrder)
    {
        this.regionOrder = regionOrder;
    }

    public Long getRegionOrder()
    {
        return regionOrder;
    }
    public void setRegionNameEn(String regionNameEn)
    {
        this.regionNameEn = regionNameEn;
    }

    public String getRegionNameEn()
    {
        return regionNameEn;
    }
    public void setRegionShortnameEn(String regionShortnameEn)
    {
        this.regionShortnameEn = regionShortnameEn;
    }

    public String getRegionShortnameEn()
    {
        return regionShortnameEn;
    }
    public void setFlag(Integer flag)
    {
        this.flag = flag;
    }

    public Integer getFlag()
    {
        return flag;
    }

    public void setChildren(List<SysRegion> children)
    {
        this.children = children;
    }

    public List<SysRegion> getChildren()
    {
        return children;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("regionId", getRegionId())
                .append("regionCode", getRegionCode())
                .append("regionName", getRegionName())
                .append("parentId", getParentId())
                .append("regionLevel", getRegionLevel())
                .append("regionOrder", getRegionOrder())
                .append("regionNameEn", getRegionNameEn())
                .append("regionShortnameEn", getRegionShortnameEn())
                .append("flag", getFlag())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
